<?php

//防止恶意调用
if (!defined('IN_MOD'))
{
    die('Hacking attempt');
}

// 自定义模块，自定义区块，自定义配置
// 自定义栏目，自定义插件，自定义扩展，自定义单页，自定义分类

/* 自定义模块 */
//　(1)from 
//　(2) join
//　(3) on 
//　(4) where 
//　(5)group by
//　(6) avg,sum.... （组函数）
//　(7)having 
//　(8) select 
//　(9) distinct 
//　(10) order by 
/** *************************************************************************
** SQL执行数据优化：如果数据量太大的话，执行起来很慢，可以考虑优化一下：
** 在经常查询的字段上加上索引
** 将*改为你需要查询出来的字段，不要全部查询出来
** 小表驱动大表用IN，大表驱动小表用EXISTS。IN适合的情况是外表数据量小的情况，而不是外表数据大的情况，因为IN会遍历外表的全部数据，假设a表100条，b表10000条那么遍历次数就是100*10000次，而exists则是执行100次去判断a表中的数据是否在b表中存在，它只执行了a.length次数。至于哪一个效率高是要看情况的，因为in是在内存中比较的，而exists则是进行数据库查询操作的
/** 索引优化*************************************************************************
** normal：这是最基本的索引，它没有任何限制，MyIASM中默认的BTREE类型的索引，是我们大多数情况下用到的索引。
** unique：表示唯一的，不允许重复的索引，如果该字段信息保证不会重复。例如身份证号用作索引时，可设置为unique。
** full text : 表示全文搜索的索引，仅可用于 MyISAM 表。 FULLTEXT 用于搜索很长一篇文章的时候，效果最好。用在比较短的文本，切记对于大容量的数据表，生成全文索引是一个非常消耗时间非常消耗硬盘空间的做法。
** 单列索引，即一个索引只包含单个列，一个表可以有多个单列索引，但这不是组合索引；（当一个表中查询大的情况下，where条件中有多个，如果使用多个单列索引，
** 根据mysql优化器策略，造成可能只使用一个索引，其他索引会失效，导致会全盘扫描表，具体看下面链接）
** 组合索引，即一个索包含多个列。(当一个表中查询大的情况下，where条件中有多个，那么可以使用组合查询,不会扫描表，直接从索引中获取，查询效率高)
** 1.虽然索引大大提高了查询速度，同时却会降低更新表的速度，如对表进行insert、update和delete。因为更新表时，不仅要保存数据，还要保存一下索引文件。
** 2.建立索引会占用磁盘空间的索引文件。一般情况这个问题不太严重，但如果你在一个大表上创建了多种组合索引，索引文件的会增长很快。
** 索引只是提高效率的一个因素，如果有大数据量的表，就需要花时间研究建立最优秀的索引，或优化查询语句。
** 使用索引时，有以下一些技巧和注意事项：
** 1.索引不会包含有null值的列，只要列中包含有null值都将不会被包含在索引中，复合索引中只要有一列含有null值，那么这一列对于此复合索引就是无效的。所以我们在数据库设计时不要让字段的默认值为null。
** 2.使用短索引，对串列进行索引，如果可能应该指定一个前缀长度。例如，如果有一个char(255)的列，如果在前10个或20个字符内，多数值是惟一的，那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。
** 3.索引列排序，查询只使用一个索引，因此如果where子句中已经使用了索引的话，那么order by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下不要使用排序操作；尽量不要包含多个列的排序，如果需要最好给这些列创建复合索引。
** 4.like语句操作，一般情况下不推荐使用like操作，如果非使用不可，如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引。
** 5.不要在列上进行运算，这将导致索引失效而进行全表扫描，例如 SELECT * FROM table_name WHERE YEAR(column_name)<2017;
** 6.不使用not in和<>操作
————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
************************************************************************* **/		
function configmodule($arraydata=array(),$classid=0,$topid=0,$bigclassname="",$where="",$order="",$dataidname="",$limit = 20,$lang="",$module = "article")
{
	global $cjdb,$configinfo,$configbase;
	
	$arrayclass = !empty($arraydata['arrayclass']) ? $arraydata['arrayclass'] : $classid;
	$bigclassname = !empty($arraydata['bigclassname']) ? $arraydata['bigclassname'] : $bigclassname;
	$where = !empty($arraydata['where']) ? $arraydata['where'] : $where;
	$order = !empty($arraydata['order']) ? $arraydata['order'] : $order;
	$dataidname = !empty($arraydata['dataidname']) ? $arraydata['dataidname'] : $dataidname;
	$limit = !empty($arraydata['limit']) ? $arraydata['limit'] : $limit;
	$page = !empty($arraydata['page']) ? $arraydata['page'] : 1;
	$url = !empty($arraydata['url']) ? $arraydata['url'] : "";
	$join = !empty($arraydata['join']) ? $arraydata['join'] : "";
	$field = !empty($arraydata['field']) ? $arraydata['field'] : "tl.*";
	$group = !empty($arraydata['group']) ? $arraydata['group'] : "";
	$having = !empty($arraydata['having']) ? $arraydata['having'] : "";
	$moresql = !empty($arraydata['moresql']) ? $arraydata['moresql'] : "";
	$timearr = !empty($arraydata['timearr']) ? $arraydata['timearr'] : "";
	$module = !empty($arraydata['module']) ? $arraydata['module'] : $module;
	$topid = !empty($arraydata['topid']) ? $arraydata['topid'] : 0;		
	$datatype = !empty($arraydata['datatype']) ? $arraydata['datatype'] : "list";// 新增获取数据类型
	$plistok = !empty($arraydata['plistok']) ? $arraydata['plistok'] : 0;// 开启模块参数
	$attrid = !empty($arraydata['attrid']) ? $arraydata['attrid'] : 0;// 关联ID
	$supplierok = !empty($arraydata['supplierok']) ? $arraydata['supplierok'] : 0;// 当前商家数据
	$cityok = !empty($arraydata['cityok']) ? $arraydata['cityok'] : 0;// 当前城市数据
	$langallok = !empty($arraydata['langallok']) ? $arraydata['langallok'] : 0;// 所有语言数据
	$shopid = !empty($arraydata['shopid']) ? $arraydata['shopid'] : 0;// 店铺ID
	$lang = !empty($arraydata['lang']) ? $arraydata['lang'] : $lang;// 新增网站语言功能		
	
	// 新增数组格式
	if(is_array($arraydata))
	{
		$tablename = !empty($arraydata['tablename']) ? $arraydata['tablename'] : "";
		
		if(is_array($arrayclass))
		{
			$allbotclass = getbottomclass($arrayclass['tablename'],$arrayclass['classid'],$arrayclass['classidname'],$arrayclass['parentidname'],1);
			$classid = $allbotclass;
		}else{
			if((empty($tablename) || ifstr($tablename, $configinfo['ecs_article']) == 1) && !empty($arrayclass))
			{
				$arrayclass = getbottomclass($configinfo['ecs_article_cat'],$arrayclass,$configinfo['cat_id'],$configinfo['parent_id'],1);
			}
			$classid = $arrayclass;	
		}
		
	}else{
		$tablename = $arraydata;
	}
	
	// 新增网站语言功能
	if(empty($lang) && !empty($configinfo['lang']))
	{
		$lang = $configinfo['lang'];
	}
	
	// 加载默认模块表
	$tablename = !empty($tablename) ? $tablename : $configinfo['ecs_article'];
	if(ifstr($tablename, $configinfo['ecs_article']) == 1)
	{
		if(empty($topid) && $classid)
		{
			$topid = gettopclass($configinfo["ecs_article_cat"], $classid, $configinfo["cat_id"], $configinfo["parent_id"]);// 获取当前调用数据模块ID
		}
		$bigclassname = !empty($bigclassname) ? $bigclassname : $configinfo['article_cat_id'];
		$dataidname = !empty($dataidname) ? $dataidname : $configinfo['article_id'];
		$order = !empty($order) && $order != "default" ? $order : $configinfo['article_sort_order'];
		$plistok = 1;// 默认模块时开启模块参数
	}
	// 新增自定义模块独立表配置 DATE:2020-3-27 START
	if($module=="article")
	{
		if($topid)
		{
			$moduletable = getmoduletable($topid);
			$topmodule_defaultmoduletable = gettopmodule("default","moduletable");
			if($moduletable != $topmodule_defaultmoduletable["tablename"])
			{
				$tablename = $moduletable;
			}
		}
	}
	// 新增自定义模块独立表配置 DATE:2020-3-27 END
	
	// 设置必需排序
	if(empty($order) && $configinfo['orderok'] == 1)
	{
		return "调用数据时必需排序！";
	}else if($order == 'default')
	{
		$order = '';	
	}
	
	// 条件搜索
	$classwhere = "";
	if($classid)
	{
		$classidarr = getstrtoarr(",",$classid);
		if(count($classidarr) > 1)
		{
			$classwhere = "and tl.$bigclassname in (".$classid.")";
		}else{
			$classwhere = "and tl.$bigclassname = '".$classid."'";
		}
	}
	
	// 条件搜索
	if($where)
	{
		$where = "and ".$where;
	}
	
	// 筛选时间段
	if($timearr)
	{
		if($timearr['type'] == 2)
		{
			$where_time = " and unix_timestamp(".$timearr['timename'].") between '" . $timearr['starttime'] . "' and '" . $timearr['endtime']."'";
		}else if($timearr['type'] == 1)
		{
			$where_time = "";
			if($timearr['starttimename'])$where_time .= " and unix_timestamp(".$timearr['starttimename'].") <= '" . $timearr['starttime'] . "'";
			if($timearr['endtimename'])$where_time .= " and unix_timestamp(".$timearr['endtimename'].") >= '" . $timearr['endtime']."'";
		}else{
			$where_time = "";
			if($timearr['starttimename'])$where_time .= " and ".$timearr['starttimename']." <= '" . $timearr['starttime'] . "'";
			if($timearr['endtimename'])$where_time .= " and ".$timearr['endtimename']." >= '" . $timearr['endtime']."'";
		}
		
		$where = $where . $where_time;
	}
	
	// 关联ID
	if($attrid)
	{
		$where .= " and tl.attrid='".$attrid."'";
	}	
	
	// 商家操作数据权限
	if($supplierok)
	{
		$shopid = $shopid ? $shopid : $configinfo['supplier_id'];
		if($shopid == "admin")
		{
			$where .= " and tl.supplier_id='0'";	
		}else{
			if($shopid)$where .= " and tl.supplier_id='".$shopid."'";	
		}
	}
	
	// 当前城市分站数据
	if($cityok)
	{
		if($configbase['cityid'])$where .= " and tl.cityid='".$configbase['cityid']."'";	
	}
	
	// 语言
	if($langallok != 1)
	{
		if(!empty($lang))$where .= " and tl.lang='".$lang."'";// 新增网站语言功能
	}
	
	// 组
	$groupsql="";$havingsql="";
	if(!empty($group))$groupsql = "group by $group";
	if(!empty($having))$havingsql = "having $having";
	
	// 总记录
	$sql = "SELECT $field FROM $tablename as tl $join WHERE 1=1 $classwhere $where $groupsql $havingsql $moresql";
	$count = mysqli_num_rows($cjdb->query($sql));
	
	// 排序
	if($order)$order = "order by ".$order;
	
	// 分页
	$tpage = 1;
	$limtsql = "";
	if($limit && $limit != 'all')
	{
		$tpage = intval($count / $limit);// 总页
		$ypage = $count % $limit;
		if($ypage > 0)$tpage++;
		if($page > $tpage)$page = 1;
		$page = $page - 1;
		$start = $limit * $page;
		$limtsql = "limit $start,$limit";
	}
	
	// 列表数据
	$sql = "SELECT $field FROM $tablename as tl $join WHERE 1=1 $classwhere $where $groupsql $havingsql $moresql $order $limtsql";
	$configmodule = $cjdb->getAll($sql);
	
	// 遍历数据
	if($dataidname && count($configmodule) > 0)
	{
		// 开启模块参数
		// topid允许为空，当获取不到topid时获取默认表下的参数信息
		if($plistok == 1)
		{
			foreach($configmodule as $key=>$val)
			{
				$parainfo = getmoduleparameter($val[$dataidname], $topid, array('langallok' => $langallok));
				if($parainfo)$configmodule[$key] += $parainfo;
			}
		}
		
		// 获取列表URL
		foreach($configmodule as $key=>$val)
		{
			if($url)
			{
				$url = str_replace("{dataid}",$val[$dataidname],$url);
				$configmodule[$key]['url'] = $url;
			}
		}
	}
	
	// 当数据库有数据时返回数据否则返回空
	$res = "";
	if(is_array($configmodule) && count($configmodule) > 0)
	{
		$res = array('list' => '', 'count' => '', 'tpage' => '');
		
		// 列表数据
		if($datatype=="list")
		{
			$res = $configmodule;
			$res[0]['count'] = $count;
			$res[0]['tpage'] = $tpage;
		}
		
		// 数据组
		if($datatype=="group")
		{
			$res = array('list'=>$configmodule, 'count'=>$count, 'tpage' => $tpage);
		}
	}
	
	return $res;	
}

/* 自定义栏目 */
function configcolumn($arraydata=array(),$classid=0,$bigclassname="",$order="",$limit = 20,$where="",$dataidname="",$lang="")
{
	global $cjdb,$configinfo;
	
	$classid = !empty($arraydata['classid']) ? $arraydata['classid'] : $classid;
	$bigclassname = !empty($arraydata['bigclassname']) ? $arraydata['bigclassname'] : $bigclassname;
	$order = !empty($arraydata['order']) ? $arraydata['order'] : $order;
	$limit = !empty($arraydata['limit']) ? $arraydata['limit'] : $limit;
	$where = !empty($arraydata['where']) ? $arraydata['where'] : $where;
	$dataidname = !empty($arraydata['dataidname']) ? $arraydata['dataidname'] : $dataidname;
	$field = !empty($arraydata['field']) ? $arraydata['field'] : "*";
	$url = !empty($arraydata['url']) ? $arraydata['url'] : "";
	$datatype = !empty($arraydata['datatype']) ? $arraydata['datatype'] : "list";// 新增获取数据类型
	$lang = !empty($arraydata['lang']) ? $arraydata['lang'] : $lang;	// 新增网站语言功能	
	
	// 新增数组格式
	if(is_array($arraydata))
	{
		$tablename = !empty($arraydata['tablename']) ? $arraydata['tablename'] : "";
	}else{
		$tablename = $arraydata;
	}
	
	// 加载默认模块表
	$tablename = !empty($tablename) ? $tablename : $configinfo['ecs_article_cat'];
	if($tablename == $configinfo['ecs_article_cat'])
	{
		$bigclassname = !empty($bigclassname) ? $bigclassname : $configinfo['parent_id'];
		$dataidname = !empty($dataidname) ? $dataidname : $configinfo['cat_id'];
		$order = !empty($order) ? $order : $configinfo['sort_order'];
	}
	
	// 条件搜索
	$classwhere = "";
	if($classid)
	{
		$classidarr = getstrtoarr(",",$classid);
		if(count($classidarr) > 1)
		{
			$classwhere = "and $bigclassname in (".$classid.")";
		}else{
			$classwhere = "and $bigclassname = '".$classid."'";
		}
	}
	
	// 条件搜索
	if($where)
	{
		$where = "and ".$where;
	}
	
	// 语言
	if(!empty($lang))
	{
		$where .= " and lang='".$lang."'";// 新增网站语言功能
	}
	
	// 取多少条
	$limtsql="";
	if($limit && $limit != 'all')$limtsql = "limit 0,$limit";
	
	// 排序
	if($order)$order = "order by ".$order;
	
	// 栏目列表
	$sql = "SELECT $field FROM $tablename WHERE 1=1 $classwhere $where $order $limtsql";
	$configcolumn = $cjdb->getAll($sql);
	
	// 遍历栏目
	if($dataidname && $url)
	{
		foreach($configcolumn as $key=>$val)
		{
			$url = str_replace("{dataid}",$val[$dataidname],$url);
			$configcolumn[$key]['url'] = $url;
		}
	}
	
	// 当数据库有数据时返回数据否则返回空
	$res = "";
	if(is_array($configcolumn) && count($configcolumn) > 0)
	{
		$res = array('list' => '', 'count' => '');
		$count = count($configcolumn);// 数据总数
		
		// 列表数据
		if($datatype=="list")
		{
			$res = $configcolumn;
			$res[0]['count'] = $count;
		}
		
		// 数据组
		if($datatype=="group")
		{
			$res = array('list'=>$configcolumn, 'count'=>$count);
		}
	}
	
	return $res;	
}

/* 自定义区块 */
// 优化分类区块调用效率，加载访问速度 DATE：2020-1-31
function configblock($arraydata=array(),$classid=0,$bigclassname="",$configname="",$dataidname="",$lang="")
{
	global $cjdb,$configinfo;
	
	$arrayclass = !empty($arraydata['arrayclass']) ? $arraydata['arrayclass'] : $classid;
	$bigclassname = !empty($arraydata['bigclassname']) ? $arraydata['bigclassname'] : $bigclassname;
	$configname = !empty($arraydata['configname']) ? $arraydata['configname'] : $configname;
	$dataidname = !empty($arraydata['dataidname']) ? $arraydata['dataidname'] :$dataidname;
	$lang = !empty($arraydata['lang']) ? $arraydata['lang'] : $lang;// 新增网站语言功能		
	
	// 新增数组格式
	if(is_array($arraydata))
	{
		$tablename = !empty($arraydata['tablename']) ? $arraydata['tablename'] : "";
		
		if(is_array($arrayclass))
		{
			$allbotclass = getbottomclass($arrayclass['tablename'],$arrayclass['classid'],$arrayclass['classidname'],$arrayclass['parentidname'],1);
			$classid = $allbotclass;
		}else{
			$classid = $arrayclass;	
		}
		
	}else{
		$tablename = $arraydata;	
	}
	
	// 新增网站语言功能
	if(empty($lang) && !empty($configinfo['lang']))
	{
		$lang = $configinfo['lang'];	
	}
	
	$where="";// 新增网站语言功能
	if(!empty($lang))$where = " and lang='".$lang."'";// 新增网站语言功能
	$sql = "SELECT * FROM $tablename WHERE $bigclassname in($classid) $where order by ".$configinfo['article_sort_order'];
	$zdyblock = $cjdb->getAll($sql);
	
	// 获取模块参数配置
	if($configinfo['zdyplistok'] == 1 && $dataidname)
	{
		foreach($zdyblock as $key=>$val)
		{
			$parainfo = getmoduleparameter($val[$dataidname]);
			if(is_array($parainfo))
			{
				$zdyblock[$key] += $parainfo;
			}
		}
	}
	
	
	// 重组数组
	$configblock = array();
	foreach($zdyblock as $key=>$val)
	{
		// HTML实体转换
		if($configinfo['contenthsc'] == 1)
		{
			@$val[$configinfo['contentfield']] = htmlspecialchars($val[$configinfo['contentfield']]);
			if(isset($val['contentmobile']))$val['contentmobile'] = htmlspecialchars($val['contentmobile']);
		}
		if($configinfo['contenthsc'] == 2)
		{
			@$val[$configinfo['contentfield']] = htmlspecialchars_decode($val[$configinfo['contentfield']]);
			if(isset($val['contentmobile']))$val['contentmobile'] = htmlspecialchars_decode($val['contentmobile']);
		}
		
		// 列表区块
		$listblock[$val[$configname]] = $val;
		
		// 分类区块
		$classinfo = columninfo($arrayclass['tablename'],$val[$bigclassname],$arrayclass['classidname']);
		$configblock[$classinfo[$arrayclass['classnamename']]][$val[$configname]] = $val;
	}
	
	// 追加动态模板数据 DATE:2020-10-23 START
	global $_MGPC_POST,$_MGPC_GET;
	$tpldata = array();
	$tpldata['_MGPC_POST'] = $_MGPC_POST;
	$tpldata['_MGPC_GET'] = $_MGPC_GET;
	$tpldata['listblock'] = $listblock;
	// 追加动态模板数据 DATE:2020-10-23 END
	
	// 内容HTML代码
	foreach ($configblock as $key=>$val)
	{
		foreach ($val as $k=>$v)
		{
			foreach ($v as $k2=>$v2)
			{
				if(strpos($k2,'html') !==false)
				{
					$v2 = stzhtml($v2);
					// 追加动态模板数据 DATE:2020-10-23 START
					$loadtpl_v2 = getloadtpldata('blockcontenthtml_'.$v[$dataidname].'_'.$k2, $tpldata, $v2, 0, 'block');
					if($loadtpl_v2['error'] == 0)$v2 = $loadtpl_v2['datacontent'];
					// 追加动态模板数据 DATE:2020-10-23 END
					$configblock[$key][$k][$k2] = phpvarok($v2,$listblock);
				}
			}
		}
	}
	
	return $configblock;	
}

// 获取分页配置数据
function getpagedata($count=0,$limit = 20,$page = 1)
{
	$tpage = intval($count / $limit);// 总页
	$ypage = $count % $limit;
	if($ypage > 0)$tpage++;
	if($page > $tpage)$page = 1;
	$page = $page - 1;
	$start = $limit * $page;
	
	return array('tpage' => $tpage, 'start' => $start, 'limit' => $limit, 'page' => $page);	
}

/* 通过栏目标识获取当前栏目信息 */
function markcolumninfo($tablename='',$index_num='',$index_num_name='')
{
	global $cjdb;
	
	$sql = "SELECT * FROM $tablename WHERE $index_num_name = '$index_num'";
	$columninfo = $cjdb->getRow($sql);

	return $columninfo;	
}

/* 通过栏目ID获取当前栏目信息 */
function columninfo($tablename="",$classid=0,$classidname='',$where="")
{
	global $cjdb,$configinfo;
	
	// 新增默认条件开启 DATE:2020-6-12 START
	$defaultwhereok = $classidname || $classid ? 1 : 0;
	// 新增默认条件开启 DATE:2020-6-12 END
	
	// 加载默认模块表
	if(empty($tablename))$tablename = isset($configinfo['ecs_article_cat']) ? $configinfo['ecs_article_cat'] : $tablename;
	if($tablename == $configinfo['ecs_article_cat'])
	{
		$classidname = !empty($classidname) ? $classidname : $configinfo['cat_id'];
	}
	
	$defaultwhere="1=1";
	if($defaultwhereok)$defaultwhere = "$classidname = '".$classid."'";
	if(!empty($where))$where="and $where";
	
	$sql = "SELECT * FROM $tablename WHERE $defaultwhere $where";
	$columninfo = $cjdb->getRow($sql);

	return $columninfo;	
}

/* 通过数据ID获取当前数据信息 */
function datainfo($tablename="",$dataid=0,$dataidname='',$where="",$topid=0,$plistok=0,$idname="")
{
	global $cjdb,$configinfo;
	
	// 新增默认条件开启 DATE:2020-6-12 START
	$defaultwhereok = $dataidname || $dataid ? 1 : 0;
	// 新增默认条件开启 DATE:2020-6-12 END
	
	// 加载默认模块表
	if(empty($tablename))$tablename = isset($configinfo['ecs_article']) ? $configinfo['ecs_article'] : $tablename;
	if(ifstr($tablename, $configinfo['ecs_article']) == 1)
	{
		$dataidname = !empty($dataidname) ? $dataidname : $configinfo['article_id'];
		$plistok = 1;// 默认模块时开启模块参数
		$idname = !empty($idname) ? $idname : $configinfo['article_id'];// 当前数据ID名
	}
	// 新增自定义模块独立表配置 DATE:2020-3-27 START
	if($topid)
	{
		$moduletable = getmoduletable($topid);
		$topmodule_defaultmoduletable = gettopmodule("default","moduletable");
		if($moduletable != $topmodule_defaultmoduletable["tablename"])
		{
			$tablename = $moduletable;
		}
	}
	// 新增自定义模块独立表配置 DATE:2020-3-27 END
	
	$defaultwhere="1=1";
	if($defaultwhereok)$defaultwhere = "$dataidname = '".$dataid."'";
	if($where)$where = "and ".$where;
	$sql = "SELECT * FROM $tablename WHERE $defaultwhere $where";
	$datainfo = $cjdb->getRow($sql);
	
	// 重组数据
	if(!empty($datainfo))
	{
		// 开启模块参数
		if($plistok == 1 && $idname)
		{
			$parainfo = getmoduleparameter($datainfo[$idname], $topid);
			if($parainfo)$datainfo += $parainfo;
		}	
	}

	return $datainfo;	
}

// 获取模块语言栏目信息
function modulelangcolumn($columninfo=array(),$columnid=0)
{
	global $configinfo;
	
	$langcolumninfo = langattrcolumn($columninfo,$columnid,$configinfo['columnattrid'],$configinfo['langattrname'],$configinfo['langattrpara']);	
	
	return $langcolumninfo;
}

// 获取语言关联栏目信息
// $defaultcolumn 默认栏目
// $dataid 数据ID 栏目ID
// $columnattrid 栏目关联ID
// $langattrname 多语言关联栏目 array
// $langattrpara 多语言关联参数 array
function langattrcolumn($defaultcolumn=array(),$dataid=0,$columnattrid=0,$langattrname=array(),$langattrpara=array())
{	
	global $lang,$configinfo,$cjdb;
	
	$columninfoarr = array();
	
	if($configinfo['langdefault'] == $lang)
	{
		foreach($langattrname as $key=>$val)
		{
			if(ifstr($val, '-') == 1)
			{
				$valarr = getstrtoarr('-',$val);
				$defultcolumnjosnarr = getjsonarr($defaultcolumn[$valarr[0]]);
				$defaultcolumn[$valarr[1]] = $defultcolumnjosnarr[$valarr[1]];	
			}
		}
	}else{
		$paracolumn = getattrparameter($columnattrid,$dataid);
		foreach($langattrname as $key=>$val)
		{
			if(ifstr($val, '-') == 1)
			{
				$valarr = getstrtoarr('-',$val);
				$val = $valarr[1];
			}
			$defaultcolumn[$val] = $paracolumn[$langattrpara[$key]];	
		}
	}
	
	return $defaultcolumn;
}

/* 设置当前访问或点击次数 */
function setviewnum($tablename='',$click_num_name='',$dataid=0,$dataidname='')
{
	global $cjdb;
	
	$sql = "UPDATE $tablename SET `$click_num_name`=$click_num_name+1 WHERE $dataidname = '$dataid'";
	$cjdb->query($sql);
}

// 获取上一条下一条数据
function getupdowndata($tablename='',$dataid=0,$dataidname='',$order="desc")
{
	global $cjdb;
	
	if($type == 'desc')
	{
		// 上一条
		$sql = "SELECT * FROM $tablename WHERE $dataidname > '$dataid' order by $dataidname $order";
		$updata = $cjdb->getRow($sql);
		
		// 下一条
		$sql = "SELECT * FROM $tablename WHERE $dataidname < '$dataid' order by $dataidname $order";
		$downdata = $cjdb->getRow($sql);
	}else{
		// 上一条
		$sql = "SELECT * FROM $tablename WHERE $dataidname < '$dataid' order by $dataidname $order";
		$updata = $cjdb->getRow($sql);
		
		// 下一条
		$sql = "SELECT * FROM $tablename WHERE $dataidname > '$dataid' order by $dataidname $order";
		$downdata = $cjdb->getRow($sql);	
	}

	return array('updata' => $updata, 'downdata' => $downdata);		
}

// 获取排序后的上一条一下条数据
function getorderupdowndata($data=array(),$dataid=0,$dataidname='')
{
	// 获取当前上一条下一条的键值
	foreach($data as $key=>$val)
	{
		if($val[$dataidname] == $dataid)
		{
			$upkey = $key - 1;	
			$downkey = $key + 1;	
		}
	}
	
	// 获取下一条下一条的数据
	if($upkey > 0)$updata = $data[$upkey];
	if($downkey > 0)$downdata = $data[$downkey];
	
	return array('updata' => $updata, 'downdata' => $downdata);		
}

// 获取列表动画延迟间隔时间
function getflashtime($time=0,$i=0,$type=1,$row=0)
{
	$i++;
	
	// 单个
	if($type == 1)
	{
		$res = $time * $i;	
	}
	
	// 整行
	if($type == 2)
	{
		$total = intval($i / $row);// 总页
		$ynum = $i % $row;
		if($ynum > 0)$total++;
		
		$res = $time * $total;
	}
	
	return $res;
}

// 获取简介内容代码配置
function getaboutcontenthtml($dataid=0,$htmlclassid=0)
{
	global $configinfo;
	
	$res = array();
	
	// 获取内容代码数据列表
	$modulewhere=array();
	$modulewhere['arrayclass'] = $htmlclassid;
	$modulewhere['limit'] = "all";
	$modulewhere['order'] = "default";
	$aboutcontent = configmodule($modulewhere);
	
	foreach($aboutcontent as $key=>$val)
	{
		if($val['bsid'] == $dataid)
		{
			$res['contenthtml'] = stzhtml($val['aboutcontent']);
			$res['contenthtml2'] = stzhtml($val['aboutcontent2']);
			$res['contenthtml3'] = stzhtml($val['aboutcontent3']);
		}
	}
	
	return $res;
}

// 获取手机内容HTML
function getmobilecontenthtml($content='',$contentmobile='')
{
	if($contentmobile)
	{
		$contenthtml = "<div class='st-showpc'>".$content."</div>"."<div class='st-showmobile'>".$contentmobile."</div>";	
	}else{
		$contenthtml = $content;
	}
	
	return $contenthtml;	
}

// 获取栏目缩略图配置
function getthumbconfig()
{
	global $configinfo,$configbase;
	
	$thumbconfig = array();
	if($configbase['config']['thumb'.$configinfo['moduleid'].'_width'])
	{
		$thumbconfig['thumb_width'] = $configbase['config']['thumb'.$configinfo['moduleid'].'_width'];
		$thumbconfig['thumb_height'] = $configbase['config']['thumb'.$configinfo['moduleid'].'_height'];
		$thumbconfig['thumb_type'] = $configbase['config']['thumb'.$configinfo['moduleid'].'_type'];
		$thumbconfig['big_width'] = $configbase['config']['thumb'.$configinfo['moduleid'].'_width'];
		$thumbconfig['big_height'] = $configbase['config']['thumb'.$configinfo['moduleid'].'_height'];
		$thumbconfig['big_type'] = $configbase['config']['thumb'.$configinfo['moduleid'].'_type'];
	}else{
		$thumbconfig['thumb_width'] = $configbase['config']['thumb_width'];
		$thumbconfig['thumb_height'] = $configbase['config']['thumb_height'];
		$thumbconfig['thumb_type'] = $configbase['config']['thumb_type'];
		$thumbconfig['big_width'] = $configbase['config']['thumb_width'];
		$thumbconfig['big_height'] = $configbase['config']['thumb_height'];
		$thumbconfig['big_type'] = $configbase['config']['thumb_type'];	
	}
	
	return $thumbconfig;
}

// 获取当前语言对应的语言信息
function getlanginfo($langdata=array())
{
	global $lang;
	
	return $langdata[$lang];	
}

// 获取列表分页HTML
// $pagehtml = getpagehtml(100, 10, 1, "");
// 新增分页调用 DATE：2020-1-10
function getpagehtml($total=0, $showrow=0, $curpage=0, $url='', $show_pages=2)
{
	$pagehtml = "";
	
	// 总记录数大于每页显示数，显示分页
	if($total > $showrow)
	{
		$modulepage = new modulepage($total, $showrow, $curpage, $url, $show_pages);
		$pagehtml .= $modulepage->myde_write("modulepage");
	}	
	
	return $pagehtml;
}

?>